package com.solution.admin.point.dao;

import java.util.List;
import java.util.Map;

import com.solution.admin.point.entity.PointEntity;
import com.solution.common.dao.BaseDao;
import com.solution.common.page.PageBean;
import com.solution.common.page.PageParam;

/**
 * 积分信息DAO接口
 * 
 * @author xu_cc
 * @date 2017-10-20 14:19:17
 */
public interface PointDao extends BaseDao<PointEntity> {

    /**
     * 根据客户ID获取积分信息
     * 
     * @Title: getPointByCustomerId
     * @Description:(描述)
     * @param customerId
     * @return PointEntity
     * @author xu_cc
     * @throws Exception
     *             exception
     * @Date 创建时间：2017年10月23日 上午10:50:45
     */
    public PointEntity getPointByCustomerId(Long customerId);

    /**
     * 保存积分信息
     * 
     * @param pointEntity
     * @return
     * @author xu_cc
     * @date 2017-10-20 14:19:17
     */
    public long savePoint(PointEntity pointEntity);

    /**
     * 分页查询积分信息信息
     * 
     * @param pageParam
     *            分页对象
     * @param point
     *            分页参数
     * @return PageBean 分页参数及数据
     * @author xu_cc
     * @date 2017-10-20 14:19:17
     */
    public PageBean listPointPage(PageParam pageParam, Map<String, Object> param);

    /**
     * 更新积分信息
     * 
     * @param pointEntity
     * @return
     * @author xu_cc
     * @date 2017-10-20 14:19:17
     */
    public int updatePoint(PointEntity pointEntity);

    /**
     * 删除积分信息
     * 
     * @param id
     * @return
     * @author xu_cc
     * @date 2017-10-20 14:19:17
     */
    public int deletePointById(Long id);

    /**
     * 根据积分信息类型获取积分信息
     * 
     * @param param
     * @return
     * @author xu_cc
     * @date 2017-10-20 14:19:17
     */
    public List<PointEntity> listPoint(Map<String, Object> param);

	/**
     * 更新客户积分账户的余额
     * @param point
     * @return
     * @author lilp
     */
	public int updateCustomerPoint(PointEntity point);
	
}
